Black component generation

ABSTRACT

A system and method for generating achromatic components for output incorporate receiving input color data defined in a first color space. The received input color data is converted to intermediate color data defined in an intermediate color space. Typically the intermediate color space is defined only in terms of chromatic components. A black or achromatic component is then calculated. The black or achromatic color component is a function of both the input color data in the first color space and the intermediate color data in the intermediate color space. This black or achromatic color component is associated with the intermediate color data for further processing and output.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to the digital color image processing arts. It finds particular application in conjunction with generating a black component for output in CMYK color space, and will be described with particular reference thereto. However, it is to be appreciated that the invention is applicable to various transforms between input and output color spaces.

[0002] Color in printed digital images results from the combination of a limited set of colors over a small area in densities selected to integrate the desired color response. This is accomplished in many printing devices by reproducing so called “separations” of the image, where each separation provides varying values of a single primary color. When the separations are combined together, the result is a full color image.

[0003] The particular color of each separation depends on the “color space” being implemented. Examples of color space models include, RGB, CMY, CMYK, Lab, Yes, YIQ, HSV, HLS.

[0004] In practice, color images are commonly printed in a cyan-magenta-yellow-black (CMYK) color-space. This color space is based upon the CMY color-space, but attempts to improve the quality of “black” in the image and reduce use of color inks, or toners, or dies, or the like. In theory, images can be printed using the CMY color space, with a mixture of the three colors producing black. In practice, however, printing with only cyan, magenta, and yellow inks often does not produce the highest quality black, but instead results in a muddy brownish output due to impurities in the inks, the particular paper or other image recording media used, and the partial reflection of light instead of its complete absorption into the inks. Furthermore, select use of black ink in place of the primary colors reduces expense and minimizes the total amount of ink used which is often desirable in ink-jet and other printing applications where the ability of the recording substrate to absorb ink is limited.

[0005] Methods for converting to the CMYK color space include those referred to as “under color removal” (UCR) and “gray component replacement” (GCR). UCR/GCR methods vary, but commonly involve examining the individual pixels of an image using the lowest or “darkest” of the three cyan-magenta-yellow colors to determine an amount of black to be added (Gray Component Replacement). One or more of the CMY colors are then adjusted to account for the addition of black ink (Under Color Removal). For example, if a given pixel of an image is represented in the CMY color space by C=0.5, M=0.4, and Y=0.25, then the black or K value would be based upon the lowest or Y value. In a 50% gray component replacement (GCR) method, K=(50% of Y)=0.125. In a typical under color removal (UCR) step, the remaining CMY values would then each be reduced by 0.125 so that the resulting UCR/GCR pixel is represented by C=0.375, M=0.275, Y=0.125, and K=0.125. Of course, other UCR/GCR methods are known, but each seeks to determine the level of black for a given pixel, based only on the intermediate color space, e.g. CMY.

[0006] The present invention contemplates a new method and apparatus to generate output color components that yield increased output quality.

SUMMARY OF THE INVENTION

[0007] A method of generating a black component of an output color includes receiving input color data defined in a first color space and converting the received input data to intermediate color data defined in a second or intermediate color space. A first black component factor is calculated from the input color data and a second black component factor is calculated from the intermediate color data. The first and second black component factors are then combined.

[0008] In accordance with another aspect of the present invention, the receiving input color data includes receiving color separation values such as RGM, CMY, LAB, YES, YIQ, HSV, HLS, and the like.

[0009] In accordance with another aspect of the present invention, the converting step includes converting the received input color to CMY.

[0010] In accordance with another aspect of the present invention, the calculating a first black component factor includes applying a function to the input color separations dependent upon predefined threshold values for all or some of the input color separations.

[0011] In accordance with another aspect of the present invention, the calculating a first black component includes applying a function to HSV input color data.

[0012] In accordance with another aspect of the present invention, the calculating a second black component factor includes calculating the second black component factor from the converted CMY values.

[0013] In accordance with another embodiment of the present invention, a method of outputting digital color image data in an image output terminal includes converting input color components corresponding to a color in a first color space to intermediate components in a second color space including only chromatic components. An output black component is then derived from both the intermediate components and the input components.

[0014] In accordance with another aspect of the present invention, the method further includes adjusting the intermediate components based on the derived output black component. This adjustment includes gray component replacement and under color removal and the like.

[0015] In accordance with another aspect of the present invention, the method further includes outputting data based on both the intermediate components and the output black component.

[0016] In accordance with another aspect of the present invention, the deriving an output black component includes applying a defined process to the input components, applying a defined process to the intermediate color components and combining the processed input components with differently processed intermediate components.

[0017] In accordance with another aspect of the present invention, the differently processed intermediate components include minimized CMY values.

[0018] In accordance with another embodiment of the present invention, a system for creating an achromatic component for an output color space from input color space including only chromatic components includes a receiver which receives input color separations in the input color space and a converter that converts input color separations to intermediate color separations. The system further includes an achromatic component generator in data communication with the receiver and the converter. The achromatic component generator calculates an achromatic color separation from functions including at least one input color separation and intermediate color separation.

[0019] In accordance with another aspect of the present invention, the input space is defined in HSV and the functions include a first function g(H,S,V), and a second function h depending on the intermediate color separation. The system further includes a calculator that calculates g(H,S,V) by implementing the equation. ${g\left( {H,S,V} \right)} = {1 - \left\{ \begin{matrix} {{a_{H}S^{2}} + {b_{H}S} + c_{H}} & {{{for}\quad S} > {S_{t}\quad {and}\quad V} > V_{t}} \\ {1 - \left( {1 - \frac{V}{V_{t}}} \right)^{2}} & {{{for}\quad S} \leq {S_{t}\quad {and}\quad V} < V_{t}} \\ {\left( {{a_{H}S^{2}} + {b_{H}S} + c_{H}} \right)\left\lbrack {1 - \left( {1 - \frac{V}{V_{t}}} \right)^{2}} \right\rbrack} & {{{for}\quad S} > {S_{t}\quad {and}\quad V} < V_{t}} \\ 1 & {{{{for}\quad S} \leq \quad {S_{t}\quad {and}\quad V} > \quad V_{t}}\quad} \end{matrix} \right.}$

[0020] In accordance with another aspect of the present invention, the converter converts the input color separations to CMY.

[0021] In accordance with another aspect of the present invention, the system further includes a post processor that adjusts the intermediate color separations based on the achromatic color separation.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The invention may take form in various components and arrangements of components, and in various steps and arrangements of steps. The drawings are only for purposes of illustrating preferred embodiments, and are not to be construed as limiting the invention.

[0023]FIG. 1 shows a system illustrated as a functional block diagram which suitably practices the present invention;

[0024]FIG. 2 is a depiction of color space showing variables and thresholds at selected positions within that color space and their effect on black component generation;

[0025]FIG. 3 is an illustration of black generated as a function of V and S;

[0026]FIG. 4 is an illustration of black generated as a function of V, S, and hue angle;

[0027]FIG. 5 is a graph of possible weighting values for modulating H; and

[0028]FIG. 6 is a graph of the function with weights for modulating H.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0029] With reference now to FIG. 1, a system for creating a black or achromatic component from a color represented by an input color space includes a receiver 10 which receives input color separations in the input color space. The discussion herein will focus on input color space RGB, but those skilled in the art will appreciate that alternate input components can be depicted in a variety of different formats such as Lab, LCH, HSV and the like. Typically, input color space is defined in three dimensions and the components describing individual or particular colors are collectively called tristimulus values while individual components are referred to as color separations. The input color separations 12 are then supplied to an intermediate color generator 14 or means for converting the input color separations 12 to intermediate color separations 16. Typically, the intermediate color separations 16 are generated through lookup tables, one-minus algorithms or other functions. As used herein intermediate color space will be referred to as CMY although those skilled in the art will appreciate that other intermediate color spaces may also be used.

[0030] In data communication with receiver 10 and intermediate color generator 14 is an achromatic component generator 20. The achromatic component generator 20 receives a representation of the color in both the input color space and the intermediate color space. As more fully discussed below, the achromatic component generator 20 applies a function f to both representations to calculate a black or achromatic component 28. In one preferred embodiment, the achromatic component generator 20 applies different processes or functions to the input components 12 and the intermediate components 16. From this a first black component 22 and a second black component 24 are derived, and combined into achromatic component 28. The achromatic component 28 is forwarded to post processor 30 which combines the achromatic component 28 with intermediate components 16 and then processes the color separations as is known to those skilled in the art, for example gray component replacement, ink limit, tone reproduction curves and the like. The system then outputs color separations via an image output terminal 34 which can include a printer, copy machine, xerographic device, and the like.

[0031] A new method for black component generation takes into account not only the intermediate color values 16 (for example CMY) but also the corresponding input color values 12 (for example RGB or HSV). Specifically a black or achromatic component 28 is generated according to the following strategy (FIG. 2):

K=f (input color, intermediate color)  EQ(1)

[0032] The function f is customized according to the specific requirements. For example, for an inkjet printer, it is preferable to start turning on black later because the black dots increase the graininess of skin tones, or sweeps of yellow to black for light colors it is preferable to use three color black or process black. A specific embodiment of equation (1) will be described below.

[0033] The black component 28 is generated as a function of the first black component 22 e.g. the HSV values of the input RGB color separations 12 and the second black component 24, e.g. min(C,M,Y) 16, (where C=255-R, M=255-G, Y=255-B are the intermediate colors) as follows:

K=f(H,S,V,C,M,Y)=g(H,S,V)*h(C,M,Y)  EQ(2)

[0034] where the first black component 22 is represented as

g(H,S,V)=1−g ₁(V)*g ₂(S,H)  EQ(3)

[0035] and the second black component 24 is represented as

h(C,M,Y)=min(C,M,Y)  EQ(4)

[0036] g₁ and g₂ are defined in equation (5) below. $\begin{matrix} {{g_{1}(V)} = \left\{ {\begin{matrix} {1 - \left( {1 - \frac{V}{V_{t}}} \right)^{2}} & {{{if}\quad V} < V_{t}} \\ 1 & {otherwise} \end{matrix}{and}} \right.} & {{EQ}\quad \text{(5a)}} \\ {{g_{2}\left( {S,H} \right)} = \left\{ \begin{matrix} {{a_{H}S^{2}} + {b_{H}S} + c_{H}} & {{{if}\quad S} > S_{t}} \\ 1 & {otherwise} \end{matrix} \right.} & {{EQ}\quad \text{(5b)}} \end{matrix}$

[0037] where V_(t) and S_(t) are experimentally determined thresholds. For V>V_(t) and S<=S_(t) no black is generated. V_(t)=0.86 and S_(t)=0.52 are example values that worked well for an ink-jet system. These threshold values usually gave better results when V_(t)>S_(t).

[0038] The amount of black produced is given by the function f and depends on the position of the input color component 12 e.g. HSV space, and on the intermediate color component 16 e.g. CMY values. This dependence on the input color space HSV is depicted in FIG. 2. Those skilled in the art will recognize that the thresholds and parameters may likely be different for different print modes and media.

[0039] Power 2 in the definition of g₁ proved to be less aggressive as a linear function in certain parts of the color space. For dark and low saturation colors a dependence of the amount of black generated only on V is sufficient.

[0040] For g₂, a curve similar to g₁ was first generated depending only on saturation S and the threshold S_(t):

g ₂(S)=1−((S−S _(t))/(1−S _(t)))² if S>S_(t) and 1 otherwise  EQ(6)

[0041] But high saturation light colors had high graininess (such as almost pure yellow in black to yellow sweeps) due to the presence of the big volume black drops. Accordingly, in another embodiment, the amount of black generated depends on the hue angle for select high value high saturation input colors, which improves the image quality noticeably.

[0042]FIG. 3 is a plot of the product g₁g₂ scaled by a factor of 100 as a function of V and S when g₂ depends only on saturation (see Equation 6 above) and g₁ is defined by Equation 5a.

[0043] Again, the 3^(rd) axis is the value of the g₁g₂ product. A value of 0 (for example at point C where S=V=1)) means 100% black generation and a value of 1 (100—for example at point A where S=S_(t) and V=1) means no black generated. As inferred above, this led to the presence of black dots for very light (V close to 1), high saturation (S close to 1) colors. To avoid these artifacts for S=V=1 (at point C) the value of the product g₁g₂ is shifted higher than 0, such that less black is produced.

[0044] Additionally the position of C was determined to vary with the hue angle H. In short generating less black as value and saturation increase and results in a curve of the type shown in FIG. 4, such that the position of point C varies as a function m of H (m(H)). To achieve this, a second degree curve was fitted (for V=1) to the following data/aim points:

[0045] A(S_(t),1)

[0046] C(1, m(H))

[0047] B(0.5(S_(t)+1),0.75)

[0048] g₂ was derived by solving system (7) below.

[0049] The first point (A) shows that no black should be generated for S≦S_(t).

[0050] The second point (C) introduces the dependence on H as a function m(H), where H is the hue angle. If m(H)=0, then the dependence described in FIG. 3 and Equations 5a and 6 is obtained.

[0051] The third point (B) is an anchor point movable for different cases and also provides enough data to solve the system of equations obtained by requiring that the function defined in Equation 5b passes through the points A, B and C.

[0052] The system is: $\begin{matrix} \left\{ \begin{matrix} {{{a_{H}S_{t}^{2}} + {b_{H}S_{t}} + c_{H}} = 1} \\ {{a_{H} + b_{H} + c_{H}} = {m(H)}} \\ {{{a_{H}\left( {S_{t} + 1} \right)}^{2} + {2{b_{H}\left( {S_{t} + 1} \right)}} + {4c_{H}}} = 3} \end{matrix} \right. & {{EQ}\quad (7)} \end{matrix}$

[0053] The solution of system (7) is: $\begin{matrix} \left\{ \begin{matrix} {a_{H} = \frac{{2{m(H)}} - 1}{\left( {1 - S_{t}} \right)^{2}}} \\ {b_{H} = \frac{{2S_{t}} - {m(H)} - {3{m(H)}S_{t}}}{\left( {1 - S_{t}} \right)^{2}}} \\ {c_{H} = \frac{1 - {2S_{t}} + {{m(H)}S_{t}} + {{m(H)}S_{t}^{2}}}{\left( {1 - S_{t}} \right)^{2}}} \end{matrix} \right. & {{EQ}\quad (8)} \end{matrix}$

[0054] Once more if m(H)=0 then g₂ from Equation 5b is the same as g₂ from Equation 6.

[0055] The function m is a modulated value of H, because the same strategy for black generation was desired for certain groups of colors. This will be exemplified below after the definition of ‘m’ is introduced. ‘m’ is defined as in Equation 9:

m(H)=W ₁ cos(3H)+W ₂  EQ(9)

[0056] where W₁ and W₂ are selected such that 0≦m(H)≦1 which means 0≦W₁, W₂≦1, W₁+W₂≦1, W₂−W₁≧0, which limits the possible pairs of (W₁, W₂) values to the shaded region 50 in the plane W₁W₂ from FIG. 5.

[0057] The graph of m is in FIG. 6, for W₁=0.1 and W₂=0.9. These values were chosen after extensive testing of various (W₁, W₂) pairs.

[0058] Black is generated in the same way for R, G, and B (in which case m(H)=W₁+W₂=1 for W₁=0.1 and W₂=0.9) and in a different way for C, M, and Y (in which case m(H)=W₁−W₂=0.8 for W₁=0.1 and W₂=0.9) as shown in FIG. 6.

[0059] Finally for high saturation, low value colors (as compared to thresholds V_(t) and S_(t)) the black generation method is further refined including a dependence on all three attributes of the input color separations, for example: H, S, and V.

[0060] Overall, the black generation strategy is defined as a continuous function of H, S, and V, as in Equation 10. $\begin{matrix} {{g\left( {H,S,V} \right)} = {1 - \left\{ \begin{matrix} {{a_{H}S^{2}} + {b_{H}S} + c_{H}} & {{{for}\quad S} > {S_{t}\quad {and}\quad V} > V_{t}} \\ {1 - \left( {1 - \frac{V}{V_{t}}} \right)^{2}} & {{{for}\quad S} \leq {S_{t}\quad {and}\quad V} < V_{t}} \\ {\left( {{a_{H}S^{2}} + {b_{H}S} + c_{H}} \right)\left\lbrack {1 - \left( {1 - \frac{V}{V_{t}}} \right)^{2}} \right\rbrack} & {{{for}\quad S} > {S_{t}\quad {and}\quad V} < V_{t}} \\ 1 & {{{{for}\quad S} \leq \quad {S_{t}\quad {and}\quad V} > \quad V_{t}}\quad} \end{matrix} \right.}} & {{EQ}\quad (10)} \end{matrix}$

[0061] Those skilled in the art will appreciate that further improvements may be made by making the low saturation, low value curve also hue dependent.

[0062] The invention has been described with reference to the preferred embodiments. Modifications and alterations will occur to others upon a reading and understanding of the preceding detailed description. It is intended that the invention be construed as including all such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof. 

Having set forth the preferred embodiments, the invention is now claimed to be:
 1. A method of generating a black component of an output color comprising: receiving input color data defined in a first color space; converting the received input color data to intermediate color data defined in an intermediate color space; calculating a first black component factor from the input color data; calculating a second black component factor from the intermediate color data; and combining the first black component factor and the second black component factor.
 2. The method of generating a black component as set forth in claim 1, where the receiving input color data step comprises receiving color separation values.
 3. The method of generating a black component as set forth in claim 1, where the converting step comprises converting the received input color data to CMY.
 4. The method of generating a black component as set forth in claim 2, where the calculating a first black component factor step comprises applying a function to the input color separation values where the function depends on predefined threshold values.
 5. The method of generating a black component as set forth in claim 1, where the first color space comprises HSV and where the calculating a first black component factor step comprises applying a predetermined function to the HSV input color data.
 6. The method of generating a black component as set forth in claim 3, where the calculating a second black component factor step comprises calculating the second black component factor from the converted CMY values.
 7. In an image output terminal, a method of outputting a digital color image comprising: converting input components corresponding to a color in a first color space to intermediate components in a second color space, where the second color space includes only chromatic components; and deriving an output black component from both the intermediate components and the input components.
 8. The method of outputting a digital color image as set forth in claim 7, further comprising adjusting the intermediate components based on the derived output black component.
 9. The method of outputting a digital color image as set forth in claim 7, further comprising outputting data comprising the intermediate components and the output black component.
 10. The method of outputting a digital color image as set forth in claim 7, where the deriving an output black component comprises: applying a defined process to the input components; applying a different process to the intermediate components; and combining the processed input components and the differently processed intermediate components.
 11. The method of outputting a digital color image as set forth in claim 10, where the applying a different process to the intermediate components comprises minimizing CMY values.
 12. The method of outputting a digital color image as set forth in claim 10, where the first color space includes HSV and the applying a defined process comprises applying a function including H, S and V, where the function is different depending on the position of an S value with respect to a threshold.
 13. The method of outputting a digital color image as set forth in claim 10, where the first color space includes HSV and the applying a defined process comprises applying a function including H, S and V, where the function is different depending on the position of a V value with respect to a threshold.
 14. The method of outputting a digital color image as set forth in claim 7, where the first color space comprises HSV and the deriving comprises: applying a function to the intermediate components; and for input components including V below a V threshold and S below an S threshold, applying a function varying with V and the V threshold.
 15. A system for creating an achromatic component for an output color space from an input color space including only chromatic components, the system comprising: a receiver that receives input color separations in the input color space; a converter that converts the input color separations to intermediate color separations; and an achromatic component generator in data communication with the receiver and the converter, the achromatic component generator calculating an achromatic color separation from functions including at least one input color separation and intermediate color separation.
 16. The system as set forth in claim 14, where the input color space is defined in HSV and the functions include a first function g(H,S,V), and a second function h depending on the intermediate color separation, the system further comprising a calculator which calculates g(H,S,V) by implementing the equation: ${g\left( {H,S,V} \right)} = {1 - \left\{ \begin{matrix} {{a_{H}S^{2}} + {b_{H}S} + c_{H}} & {{{for}\quad S} > {S_{t}\quad {and}\quad V} > V_{t}} \\ {1 - \left( {1 - \frac{V}{V_{t}}} \right)^{2}} & {{{for}\quad S} \leq {S_{t}\quad {and}\quad V} < V_{t}} \\ {\left( {{a_{H}S^{2}} + {b_{H}S} + c_{H}} \right)\left\lbrack {1 - \left( {1 - \frac{V}{V_{t}}} \right)^{2}} \right\rbrack} & {{{for}\quad S} > {S_{t}\quad {and}\quad V} < V_{t}} \\ 1 & {{{{for}\quad S} \leq \quad {S_{t}\quad {and}\quad V} > \quad V_{t}}\quad} \end{matrix} \right.}$

where coefficients a_(H), b_(H) and c_(H) are different functions of hue angle, and S_(t) and V_(t) are threshold values for saturation and value, respectively.
 17. The system as set forth in claim 14, where the intermediate color separations are defined in CMY.
 18. The system as set forth in claim 14, further comprising a post-processor that adjusts the intermediate color separations based on the calculated achromatic color separation. 